package arraylistexer;

import java.util.ArrayList;

/**
 * @author tongchen
 * @create 2022-09-27 20:21
 */
public class YangHuiTragile {
    public static void main(String[] args) {
        ArrayList<ArrayList<Integer>> method = method(5);
        for (int i = 0; i < method.size(); i++) {
            System.out.println(method.get(i));
        }
    }
    public static ArrayList<ArrayList<Integer>> method(int nums){
        //建立一个二层顺序表
        ArrayList<ArrayList<Integer>>lists=new ArrayList<>();
        //第一层单独处理
        ArrayList<Integer>list=new ArrayList<>();
        list.add(1);
        lists.add(list);
        //循环处理其它层(工n层)
        for (int i=1;i<nums;++i){
            ArrayList<Integer> list1=new ArrayList<>();
            //处理第一个数字
            list1.add(1);

            //处理中间数字
            for (int j = 1; j <i ; j++) {
                list1.add(lists.get(i-1).get(j)+lists.get(i-1).get(j-1));
            }
            //处理最后的数字
            list1.add(1);
            //将list1加入Lists
            lists.add(list1);
        }
        return lists;
    }
}
